/**  
 * All rights Reserved, Designed By <a href="www.itttq.com" target="_blank">www.itttq.com</a>
 * @date:   2017-07-21 11:42:21
 * @Copyright: 2017 <a href="www.itttq.com" target="_blank">www.itttq.com</a> Inc. All rights reserved. 
 */
package com.itttq.gshop.generic.connector;

import java.util.List;

import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;

import com.itttq.gshop.domain.po.WareInfoPo;
import com.itttq.gshop.domain.to.IndexStatTo;
import com.itttq.gshop.domain.to.ResultPageTo;

@FeignClient(name= "${gshop.feign.server.pbpm}/wareInfo")
public interface IWareInfoConnector {
	/**
	 * 根据条件获取WareInfoPo对象，不返回查询的数据总数
	 * 
	 * @param wareInfo
	 * @Author 迷蝶
	 * @return List<WareInfoPo>
	 */
	@RequestMapping("wares")
	public List<WareInfoPo> getWares(@RequestBody WareInfoPo wareInfo);
	
	/**
	 * 根据条件获取WareInfoPo对象，并返回查询的数据总数
	 * 
	 * @param wareInfo
	 * @Author 迷蝶
	 * @return ResultPageTo<WareInfoPo>
	 */
	@RequestMapping("list")
    public ResultPageTo<WareInfoPo> getWareInfos(@RequestBody WareInfoPo wareInfo);
	
	/**
	 * 根据ID获取WareInfoPo对象，并放入redis缓存
	 * 
	 * @param id	只能是数字
	 * @Author 迷蝶
	 * @return WareInfoPo
	 */
	@RequestMapping("{id}")
	public WareInfoPo getWareInfo(@PathVariable("id")int id);
	
	/**
	 * 保存WareInfoPo对象，并清除此ID的缓存。<br>
	 * 如果ID存在，则更新对象；ID不存在则插入对象。
	 * 
	 * @param wareInfo
	 * @Author 迷蝶
	 * @return WareInfoPo
	 */
	@RequestMapping("save")
	public Integer saveWareInfo(@RequestBody WareInfoPo wareInfo);
	
	/**
	 * 根据ID删除WareInfoPo对象，并清除此ID的缓存。<br>
	 * 
	 * @param id	只能是数字
	 * @Author 迷蝶
	 * @return WareInfoPo
	 */
	@RequestMapping("del/{id}")
	public Integer delWareInfo(@PathVariable("id")int id);

	/**
	 * 获取今天新增商品
	 * 
	 * @Author 迷蝶
	 * @return IndexStatTo
	 */
	@RequestMapping("getWareCountToday")
	public IndexStatTo getWareCountToday();
}